Most real-time audio processing applications are driven by sound card interrupts. However, due to the nature of computer hardware and how operating systems handle sound card interrupts, if the interrupt received by the application is not synchronized with the hardware interrupt, many problems can result. Many applications rely on the timing information coming with an interrupt, and expect that the interrupt arrives at a fixed interval time. This is a typical minimal requirement for any real-time audio processing application.